ASP.Net Core প্রজেক্ট স্ট্রাকচার আধুনিক ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য একটি সুসংগঠিত এবং কার্যকরী ফাইল ও ফোল্ডার কাঠামো প্রদান করে। এটি কোডের মডুলারিটি এবং রক্ষণাবেক্ষণ সহজ করে। নিচে ASP.Net Core প্রজেক্টের স্ট্রাকচার এবং এর প্রধান উপাদানগুলি আলোচনা করা হলো।
ASP.Net Core প্রজেক্টের সাধারণ কাঠামো কিছুটা নিচের মতো হয়:
1. wwwroot
এটি স্ট্যাটিক ফাইল যেমন CSS, JavaScript, ইমেজ, ফন্ট ইত্যাদির জন্য নির্দিষ্ট ফোল্ডার। এই ফোল্ডারটি ওয়েব ব্রাউজারে সরাসরি এক্সেসযোগ্য।
/wwwroot/css
, /wwwroot/js
, /wwwroot/images
2. Controllers
এটি অ্যাপ্লিকেশনের কন্ট্রোলারগুলো ধারণ করে। কন্ট্রোলার হলো অ্যাপ্লিকেশনের অংশ যা HTTP রিকোয়েস্টের জন্য রেসপন্স তৈরি করে।
HomeController.cs
, AccountController.cs
3. Models
এই ফোল্ডারটি অ্যাপ্লিকেশনের মডেল ক্লাসগুলো ধারণ করে, যা ডেটার কাঠামো বা ডোমেইন লজিক সংরক্ষণ করে। মডেলগুলি সাধারণত ডেটাবেসের সাথে মিথস্ক্রিয়া করতে ব্যবহৃত হয়।
User.cs
, Product.cs
4. Views
এটি রেজার ভিউ ফাইলগুলি ধারণ করে, যেখানে ইউজার ইন্টারফেস তৈরি করা হয়। রেজার ফাইল (যেমন .cshtml
) ওয়েব পেজের HTML কন্টেন্ট এবং ডাইনামিক ডেটা রেন্ডার করে।
/Views/Home/Index.cshtml
5. Properties
এই ফোল্ডারটি প্রজেক্টের বৈশিষ্ট্য সম্পর্কিত ফাইলগুলি ধারণ করে, যেমন প্রজেক্টের সেটিংস বা কনফিগারেশন।
launchSettings.json
6. appsettings.json
এই ফাইলটি অ্যাপ্লিকেশনের কনফিগারেশন সেটিংস ধারণ করে, যেমন ডাটাবেস সংযোগ স্ট্রিং, লগিং কনফিগারেশন ইত্যাদি।
{
"ConnectionStrings": {
"DefaultConnection": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"
},
"Logging": {
"LogLevel": {
"Default": "Information"
}
}
}
7. Startup.cs
এই ফাইলটি অ্যাপ্লিকেশন চালু করার জন্য প্রাথমিক কনফিগারেশন নির্ধারণ করে, যেমন middleware পাইলাইন, ডিপেনডেন্সি ইনজেকশন, রাউটিং এবং কনফিগারেশন সেটআপ।
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseMvc();
}
}
8. Program.cs
এই ফাইলটি অ্যাপ্লিকেশনটি শুরু করার মূল পয়েন্ট। এখানে CreateHostBuilder
মেথডের মাধ্যমে হোস্ট তৈরি হয় এবং অ্যাপ্লিকেশনটি রান করে।
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
9. Data
এটি ডেটাবেস বা ডেটা অ্যাক্সেস সম্পর্কিত ক্লাস ও ডোমেইন মডেল ধারণ করে, যেমন DbContext
এবং অন্য ডেটা ম্যানেজমেন্ট ক্লাস।
ApplicationDbContext.cs
10. Services
এই ফোল্ডারটি সার্ভিস ক্লাস ধারণ করে, যা অ্যাপ্লিকেশনের বিজনেস লজিক এবং ডেটা প্রসেসিংয়ের জন্য ব্যবহৃত হয়।
EmailService.cs
, UserService.cs
Middleware
ASP.Net Core প্রজেক্টে Middleware হলো একটি চেইন অব কম্পোনেন্ট যা HTTP রিকোয়েস্ট এবং রেসপন্সে পরিবর্তন আনতে সহায়তা করে। Startup.cs
ফাইলে Middleware কনফিগার করা হয়।
Dependency Injection
ASP.Net Core প্রজেক্টে ডিপেনডেন্সি ইনজেকশন বিল্ট-ইন সমর্থিত। এতে ক্লাসগুলোর মধ্যে ডিপেনডেন্সি বা পরিষেবা ইনজেক্ট করে সহজেই ম্যানেজ করা যায়।
Routing
ASP.Net Core প্রজেক্টে রাউটিং HTTP রিকোয়েস্টকে কন্ট্রোলার অ্যাকশন বা ভিউ এর সাথে ম্যাপ করে। রাউটিং প্রক্রিয়া সাধারণত Startup.cs
ফাইলে কনফিগার করা হয়।
সারাংশ
ASP.Net Core প্রজেক্ট স্ট্রাকচার একটি পরিষ্কার এবং মডুলার কাঠামো সরবরাহ করে, যা অ্যাপ্লিকেশনের রক্ষণাবেক্ষণ এবং স্কেলেবিলিটি সহজ করে তোলে। এর মধ্যে স্ট্যাটিক ফাইল, কন্ট্রোলার, ভিউ, মডেল, কনফিগারেশন, এবং ডেটাবেস সম্পর্কিত ফোল্ডারসহ সবকিছু থাকে, যা অ্যাপ্লিকেশন তৈরি, টেস্টিং এবং ডেপ্লয়মেন্টকে আরও কার্যকরী করে তোলে।
common.read_more